System and Method for Fingerprint Recognition

ABSTRACT

Fingerprint matching may include one or more of the following techniques. Space-frequency representations are adaptively computed for one or more fingerprint images. Key feature points of the fingerprint images are automatically extracted. Mesoscopic features are extracted based on the key feature points and the space-frequency representations. Fingerprint images are matched against a database of known fingerprint images using a matching algorithm based on the key points and mesoscopic features of the fingerprint images. Deep neural networks may be used for some or all of these steps.

CROSS-REFERENCE TO RELATED APPLICATION(S)

This application claims priority under 35 U.S.C. § 119(e) to U.S.Provisional Patent Application Ser. No. 62/516,905, “System and Methodfor Fingerprint Recognition,” filed Jun. 8, 2017. The subject matter ofall of the foregoing is incorporated herein by reference in itsentirety.

BACKGROUND 1. Technical Field

This disclosure relates generally to fingerprint recognition.

2. Description of Related Art

There exist two types of verifications for fingerprint identification,1:1 verification and 1:N verification. In 1:1 verification, there is onefingerprint enrolled on a device, and the only verification is whetherthe attempted user is the correct match to the enrolled fingerprint. Anonlimiting example includes fingerprint verification to unlock a phone.By contrast, 1:N verification involves searching a fingerprint against alarge database which may contain thousands to billions of fingerprintimages to determine the identity of the fingerprint. This recognition isalso referred to as latent fingerprint matching, where “latent”fingerprint may refer to the accidental impression of a fingerprintrather than one deliberately collected from a subject. A nonlimitingexample includes crime scene fingerprint matching. Problems with 1:Nverification include the fingerprint exhibiting poor quality ordistortion, or only a small portion of the fingerprint is usable formatching purposes.

Conventional fingerprint identification technologies have beensuccessfully used in solving crimes when the database of fingerprints issmall or medium size. The conventional procedure for using fingerprintsin solving crimes typically includes three steps: fingerprintacquisition, forensic experts mark features, and matching backend.

In fingerprint acquisition, the police or another investigative bodycollects the fingerprint from the crime scene. Depending on the surfacewhere the fingerprint is attached, different methods may be used. Forinstance, on a flat surface, a multi-spectrum lighting source may beused to make the fingerprint visible. If the fingerprint is attached toa curtain or other fabric, chemical compounds may be used to make thefingerprint more visible in order to take a photo. Ultimately, a set offingerprint images will be obtained.

In the next step, the fingerprint images are taken back to an office orlab for forensic experts to mark specific features. Typically, onefingerprint takes about half an hour to mark, and an entire crime scenecould take about ten hours.

In the last step, the marked features are sent to a matching backend tofind the top candidates from the database. This typically takes about afew hours to complete. Conventional technologies rely heavily on minutiafeatures of the fingerprint for matching. Minutia (or micro-scale)features include ending and bifurcations of the ridge/valley lines inthe fingerprint, as nonlimiting examples. Macro-scale features, such asr, may also be used to perform filtering to accelerate the process.

However, as fingerprint databases become increasingly larger and thenumber of queries increases, conventional technology does not scale wellto meet the demands. Four problems are particularly severe: (1) accuracydeteriorates as the number of fingerprints in the database increases;(2) the process is slow; (3) the process requires expert labor, whichincreases cost; and (4) past data and expert experiences are notleveraged, for example through machine learning or artificialintelligence.

SUMMARY

Embodiments of the present invention may improve over conventionaltechnologies in terms of speed, accuracy, and automation. Embodiments ofthe present invention may include some or all of the following features.In additional to traditional minutia-based feature points, variousembodiments may include other learned features, including mesoscopicfeatures. Traditional methods may also be integrated with big dataprocessing technologies, such as distributed computing and storagesystems, and active deep learning, as nonlimiting examples. Advancedacceleration methods may be tailored to multi-scale features.Embodiments of the present invention learn from past data andexperiences and improve in accuracy with continued use.

Other aspects include components, devices, systems, improvements,methods, processes, applications, computer readable mediums, and othertechnologies related to any of the above.

BRIEF DESCRIPTION OF THE DRAWINGS

Embodiments of the disclosure have other advantages and features whichwill be more readily apparent from the following detailed descriptionand the appended claims, when taken in conjunction with the examples inthe accompanying drawings, in which:

FIG. 1 is a diagram of a system for matching fingerprints.

FIG. 2 is a block diagram of a fingerprint matching engine.

FIG. 3A is a flow diagram for calculating mesoscopic features from anunknown fingerprint image.

FIGS. 3B and 3C are flow diagrams for alternate methods for identifyingkey feature points.

FIG. 4 is a flow diagram for calculating an overall similarity scorebetween two fingerprint images.

DETAILED DESCRIPTION

FIG. 1 is a diagram of a system for matching fingerprints. The systemincludes a database 160 of known fingerprint images A, B, C, etc., whichtypically have been pre-processed to produce representations 165A,B,C,etc. that will be used for matching against an unknown fingerprint image110. In FIG. 1, the representations 165 are mesoscopic features.Mesoscopic features are features that lie in between the micro-scale,which roughly corresponds to one pixel in the image, and themacro-scale, which roughly corresponds to the entire image. Micro-scalefeatures are minutia features, such as the ending or bifurcations of theridge/valley lines in the fingerprint. Macro-scale features include coreand delta finger types. As described in the examples below, mesoscopicfeatures are developed based on space-frequency representations of thefingerprint images.

In particular, a space-frequency framelet basis is optimized torepresent fingerprint images. By analyzing the known fingerprint images,a framelet basis with sparsity is developed. This is achieved, in part,by relaxing the orthogonality requirement. Furthermore, because of theapproach selected, neural networks can be successfully deployed toimplement various components within the fingerprint matching task.

Returning to FIG. 1, a fingerprint matching engine 180 automaticallyextracts mesoscopic features 115 from the unknown fingerprint image 110.In one approach, space-frequency representations of the unknownfingerprint image are computed, for example by applying the analysisoperator of the framelet basis to obtain a set of multi-dimensionalcoefficients. These representations may be enhanced using a deep neuralnetwork, which may be fully convolutional or including convolutional andfully connected layers. Key feature point candidates are extracted andthese may be refined based on the quality of the surrounding vicinity. Asample patch of a predefined or adaptively chosen size around the keyfeature points is obtained, where the distortion of the patch preferablyis corrected. The mesoscopic embedding features 115 from the patches arecomputed, for example using one or more deep neural networks.Dual-stream and single-stream neural networks are two nonlimitingexamples of the deep neural networks used.

The fingerprint matching engine 180 matches the unknown fingerprintimage 110 against the database of known fingerprint images A,B,C, etc.based on their mesoscopic features 115 and 165A,B,C, etc. In oneapproach, the features are organized into structured arrays. Thefeatures are stored and expanded in memory using a geometric hashingmethod. A similarity score of the features is computed based on adistance metric. For example, the Hamming distance may be used tomeasure the similarity of the features. In one approach, pair-wisesimilarity scores are calculated for different pairs of mesoscopicfeatures, one from the unknown fingerprint image and one from a knownfingerprint image. These are combined to obtain an overall similarityscore, shown as X.x in FIG. 1.

The known fingerprint images may be ordered based on their similarityscores for the unknown fingerprint image 110. Different results 190 maybe provided: an ordered list or a matching result based on pre-definedthresholds.

The framelet basis, the analysis operator for the framelet basis and themesoscopic features 165 for the known fingerprint images may all becalculated in advance and stored either in the database 160 or with thefingerprint matching engine 180.

FIG. 2 is a block diagram of a fingerprint matching engine. The engine180 includes different modules, represented as blocks in FIG. 2. Theblocks are organized into three columns. The left column containsmodules used to initialize the overall framework. This includes a module201 that determines the framelet basis that will be used. The middlecolumn contains modules used in obtaining representations of fingerprintimages. This includes applying the analysis operator for the frameletbasis 211, identifying key features in the resulting space-frequencyrepresentation 213, and determining mesoscopic features for the keyfeatures 215. It also includes tasks such as quality estimation 216 andforeground/background identification 217, which can be used to improvethe fingerprint representations. The right column contains modules usedto compare different fingerprints. This includes feature compressionsuch as compression to bit vectors 261, distance or similaritycalculations for pairs of mesoscopic features 262, and combining thepair-wise similarity scores into an overall similarity score for twofingerprint images 263. As described below, deep neural networks may betrained to perform some of these functions.

The initialization process implemented by the lefthand modules isdescribed in the following text. FIGS. 3A-3C describe the representationprocess implemented by the modules in the middle column. The similarityscoring by the righthand modules is described in FIG. 4.

For the processing of image data, representations play a fundamentalrole. The most suitable representations vary for different visual tasks.For example, for display purposes, pixel-value-based representation isuseful (recording RGB values for each pixel). For compression purposes,using local cosine basis or wavelet basis is useful. Fingerprint imageshave special structure as they mainly consist of ridges and textures ofvarying curvatures and patterns. As such, it is possible to construct amore useful customized representation for fingerprint images, ratherthan using the standard pixel-value-based representations.

Accordingly, the known fingerprint images are analyzed to develop aframelet basis that is optimized for fingerprint images. In oneapproach, the basis is optimal in the sense that among all waveletframes that satisfy the perfect reconstruction condition, theconstructed framelet basis provides the sparsest representation forfingerprint images.

The construction of the framelet basis is based on the theory ofmulti-resolution analysis (MRA). The starting point for practicalmulti-resolution analysis was introduced by Mallat (1989) and Meyer(1995). Wavelets are prominent examples. One advantage for MRA is thatit comes with fast decomposition and reconstruction algorithms, which isimportant for making it a practical tool in image processing.

Wavelets can be generalized to wavelet frames, in which theorthogonality constraint is dropped. Wavelet frames retain the so calledperfect reconstruction property. However, wavelet frames are predefined.A basis that is optimized for the specific data at hand would be evenbetter. Accordingly, a framelet basis is constructed by solving thefollowing optimization, which is a unitary extension principle equation:

$\begin{matrix}{{\min\limits_{a_{1},\ldots \mspace{14mu},a_{m}}{\sum\limits_{j = 1}^{N}\; {\sum\limits_{i = 1}^{m}\; {\Phi \left( v_{i,j} \right)}}}}{{{{subject}\mspace{14mu} {to}\mspace{14mu} v_{i,j}} = {_{a_{i}}x_{j}}},\mspace{14mu} {i = 1},\ldots \mspace{14mu},m}{\left\{ a_{i} \right\}_{i = 1}^{m} \in }{ = {\begin{Bmatrix}{{{\left\{ a_{i} \right\}_{i = 1}^{m}\text{:}\mspace{14mu} {\sum\limits_{l = 1}^{m}\; {\sum\limits_{n \in {\mathbb{Z}}^{d}}\; {{a_{l}\left( {{Mn} + j} \right)}\overset{\_}{a_{l}\left( {{Mn} + k + j} \right)}}}}} = {{{\det (M)}}^{- 1}\delta_{k}}},} \\{{\forall k},{j \in {\mathbb{Z}}^{d}}}\end{Bmatrix}.}}} & (1)\end{matrix}$

The framelet basis has m decomposition filters a₁, . . . , a_(m). Theframelet basis is constructed from the N known fingerprint images x_(j).T_(ai) is the analysis or decomposition operator for filter a_(i). Thev_(i,j) are the multi-dimensional coefficients obtained by applying thedecomposition operator to the fingerprint image x_(j). Φ is a sparsityinducing function. That is, t is a merit function that rewards sparsityin the coefficients v_(i,j). The decomposition filters a₁, . . . , a_(m)are constrained to filters that satisfy the so called perfectreconstruction property, which is the last equation above. In thatequation, M is the sampling matrix. If no down-sampling is involved,then M is the identity matrix. In addition, δ_(k)=1 if k=0 and δ_(k)=0otherwise. Solving Eqn. 1 yields the framelet basis. In FIG. 2, theframelet determination module 201 performs this task, although it couldbe done separately offline.

Generally speaking, the framelet basis provides a multi-scale analysisand the set of filters a_(i) includes filters of different scales. Thefilters a_(i) typically are not orthogonal to each other. Themulti-dimensional coefficients v_(i,j) provide a space-frequencyrepresentation of the fingerprint image.

FIG. 3A is a flow diagram for calculating mesoscopic features from anunknown fingerprint image. This flow diagram starts with an unknownfingerprint image, but the same process may be used to calculaterepresentations for the known fingerprint images.

The fingerprint image is processed to compute 310 a space-frequencyrepresentation of the fingerprint image. The fingerprint image is firstpre-processed so that it has a relatively uniform contrast. Thenormalized fingerprint image is transformed 312 to a set ofmulti-dimensional coefficients based on the previously determinedframelet basis. That is, the analysis operator for the framelet basis isapplied 312 to the fingerprint image. The result is a set ofmulti-dimensional coefficients. These may be post-processed 314, forexample by applying a threshold or using other techniques to suppressnoise.

The resulting space-frequency representation is processed to identify330A key feature points. The multi-dimensional coefficients have atensor format. Each slice of the tensor is called a channel. A peaksignal 334 and cross-channel correlation 332 of the channels arecomputed to obtain statistics. Noise is filtered 336 from thesestatistics, which are then aggregated to obtain a local peakrepresentation, which are the key feature points 340.

Based on the key feature points 340 and the space-frequencyrepresentation 320 of the fingerprint images, mesoscopic features 115are then extracted 350. The local peak map of the fingerprint image(i.e., key feature points 340) is computed as described earlier. The mapis then coarse-grained. An adjacency graph describing the neighboringrelations of maps of similar coefficients is built from thecoarse-grained local peak map. The edges of the map are scanned forcandidate singularity points 352. Local analysis of the candidatesingularity points is performed to determine final features. In oneapproach (see FIG. 3C), the neighborhood of each candidate point in thelevel set is checked and, if the orientation distribution is ok, thepoint is accepted as a mesoscopic feature. These features may also bequantized 354.

FIGS. 3B and 3C are flow diagrams for alternate methods for identifyingkey feature points. These techniques will be explained separately, butthe techniques of FIGS. 3A-3C may also be used in combination. Theapproach 330B of FIG. 3B takes into account the quality of thefingerprint image. Using deep neural networks, the quality of keyfeature points is evaluated. The key feature points includesingularities of the ridge/valley lines or singularities of thespace-frequency representation. For example, points along the smoothedlines with high curvature may be included. The space-frequencyrepresentation 320 of the fingerprint image is computed and candidatekey feature points are extracted 362. Patches around the candidatefeature points are sampled, where one or more deep neural networksassess 364 the quality of the patches. The deep neural networks maycontain solely convolutional layers or both convolutional layers andfully connected layers, and may contain dual-stream and single-streamneural networks and dynamical system based neural networks. Candidatefeature points with low quality are suppressed 366.

The approach 330C of FIG. 3C takes into account whether the key featurepoint lies in the foreground or background of the fingerprint image. Thefollowing examples uses only the foreground, but the background may alsobe used. Candidate feature points are identified 372. The foregroundarea is estimated 372 and then candidate points are suppressed 376 ifthey are not in the foreground area.

The side diagram shows one method for estimating 374 the foregroundarea. A level-set of the space-frequency representation is computed 381.The normal map and tangent map of the level-set are then computed 382.The contrast map and saliency map are computed 383 from the normal andtangent maps. The foreground and/or background are then obtained using apre-defined or adaptively chosen threshold value 384.

Computing the background and/or foreground may also be based on deepneural networks. Using one or more deep neural networks, a background orforeground saliency map is computed from the space-frequencyrepresentation. Another background or foreground saliency map iscomputed as described in FIG. 3C. The two saliency maps are thencombined to produce a final background or foreground area.

FIG. 4 is a flow diagram for calculating an overall similarity scorebetween two fingerprint images based on key feature points andmesoscopic features. The example of FIG. 4 may be implemented on agraphic processing unit (GPU). In other implementations, tensorprocessing units (TPU) or other AI-specific chips may be used. Thefeatures are compressed and transformed 410 into structured arrays, suchas bit arrays. Matching is converted into bit operations on a GPUdevice. A pair-wise similarity score 422 is computed based on the bitcomparison results, such as calculating 420 the bitwise distance betweentwo mesoscopic features. The local scores are aggregated 430 to computean overall similarity score 490 for pairs of fingerprint images. Thescores provide a ranking of which known fingerprint images are mostsimilar to the unknown fingerprint image.

In another variation, using deep neural networks, processed fingerprintimages are classified to a pre-defined number of classes.Representations of the fingerprint image are computed. The fingerprintimage is pre-computed using the deep neural network to get coarsefeatures. A classifier in conjunction with the deep neural network isthen used to obtain features of the fingerprint image as well as classlabel.

It is understood that the above-described embodiments are onlyillustrative of the application of the principles of the presentinvention. The present invention may be embodied in other specific formswithout departing from its spirit or essential characteristics. Forexample, the fingerprint recognition techniques may also be combinedwith other conventional techniques, such as those based on minutia.

In all steps, pre-processing may apply. Possible pre-processing stepsinclude normalizing the images or the representations, for examplenormalizing the contrast; removing non-usable areas; and enhancing theridge/valley lines based on their spectra.

Alternate embodiments are implemented in computer hardware, firmware,software, and/or combinations thereof. Implementations can beimplemented in a computer program product tangibly embodied in acomputer-readable storage device for execution by a programmableprocessor; and method steps can be performed by a programmable processorexecuting a program of instructions to perform functions by operating oninput data and generating output. Embodiments can be implementedadvantageously in one or more computer programs that are executable on aprogrammable computer system including at least one programmableprocessor coupled to receive data and instructions from, and to transmitdata and instructions to, a data storage system, at least one inputdevice, and at least one output device. Each computer program can beimplemented in a high-level procedural or object-oriented programminglanguage, or in assembly or machine language if desired; and in anycase, the language can be a compiled or interpreted language. Suitableprocessors include, by way of example, both general and special purposemicroprocessors. Generally, a processor will receive instructions anddata from a read-only memory and/or a random access memory. Generally, acomputer will include one or more mass storage devices for storing datafiles; such devices include magnetic disks, such as internal hard disksand removable disks; magneto-optical disks; and optical disks. Storagedevices suitable for tangibly embodying computer program instructionsand data include all forms of non-volatile memory, including by way ofexample semiconductor memory devices, such as EPROM, EEPROM, and flashmemory devices; magnetic disks such as internal hard disks and removabledisks; magneto-optical disks; and CD-ROM disks. Any of the foregoing canbe supplemented by, or incorporated in, ASICs (application-specificintegrated circuits), FPGAs and other forms of hardware.

1. A method implemented on a computer system comprising a processor, theprocessor executing instructions to effect a method for matching anunknown fingerprint image against a database of known fingerprintimages, the method comprising: applying an analysis operator of aspace-frequency framelet basis to the unknown fingerprint image toobtain multi-dimensional coefficients that represent the unknownfingerprint image using the framelet basis, wherein the framelet basisis also used to represent the known fingerprint images and the frameletbasis is determined by solving a unitary extension principle equation toobtain the framelet basis that is optimized for constructingspace-frequency representations of the known fingerprint images;extracting multiple mesoscopic features of the unknown fingerprintimage, wherein the multi-dimensional coefficients that represent theunknown fingerprint image contain at least two key feature points andeach mesoscopic feature is based on the multi-dimensional coefficientsin a local vicinity of one of the key feature points of the unknownfingerprint image; calculating overall similarity scores between theunknown fingerprint image and the known fingerprint images based on themesoscopic features of the unknown fingerprint image and mesoscopicfeatures of the known fingerprint images; and ordering the knownfingerprint images according to their overall similarity scores.
 2. Themethod of claim 1 wherein automatically extracting multiple mesoscopicfeatures of the unknown fingerprint image comprises: identifying the keyfeature points of the unknown fingerprint image; and for each keyfeature point: selecting a set of highest amplitude coefficients for themulti-dimensional coefficients in the local vicinity of the key featurepoint; and quantizing the selected coefficients.
 3. The method of claim2 wherein the multi-dimensional coefficients in the local vicinity ofthe key feature point is a space-frequency hypercube of a predefinedsize around the key feature point, and the set of highest amplitudecoefficients contains a predefined number of coefficients from thespace-frequency hypercube.
 4. The method of claim 1 further comprising:applying a threshold to the multi-dimensional coefficients.
 5. Themethod of claim 1 further comprising identifying the key feature pointsof the unknown fingerprint image by: computing a cross-channelcorrelation of the multi-dimensional coefficients of the unknownfingerprint image, wherein the channels are tensor slices through themulti-dimensional coefficients; identifying maximums of thecross-channel correlations as peaks; and suppressing false peaks fromamong the identified peaks.
 6. The method of claim 1 further comprisingidentifying the key feature points of the unknown fingerprint image by:identifying a plurality of candidate key feature points; estimating animage quality of areas around the candidate key feature points; andsuppressing candidate key feature points based on the estimated imagequality.
 7. The method of claim 6 wherein estimating the image qualityof areas around the candidate key feature points is performed by aneural network.
 8. The method of claim 1 further comprising identifyingthe key feature points of the unknown fingerprint image by: identifyinga plurality of candidate key feature points; estimating a foregroundarea of the unknown fingerprint image; and suppressing candidate keyfeature points based on whether the candidate key feature point liesoutside the foreground area.
 9. The method of claim 8 wherein estimatingthe foreground area of the unknown fingerprint image comprises:computing a level-set of the unknown fingerprint image; computing anormal map and a tangent map of the level-set; computing a contrast mapand a saliency map from the normal map and the tangent map; and applyinga threshold value to the contrast map and to the saliency map toestimate the foreground area.
 10. The method of claim 8 whereinestimating the foreground area of the unknown fingerprint imagecomprises: using a neural network to compute a first saliency map;computing a second saliency map by: computing a level-set of the unknownfingerprint image; computing a normal map and a tangent map of thelevel-set; computing a contrast map and an intermediate saliency mapfrom the normal map and the tangent map; and applying a threshold valueto the contrast map and to the intermediate saliency map to estimate anintermediate foreground area; and transforming the intermediateforeground area to the second saliency map; and combining the first andsecond saliency maps to estimate the foreground area.
 11. The method ofclaim 1 wherein automatically extracting multiple mesoscopic features ofthe unknown fingerprint image comprises: using a neural network toidentify key feature points of the unknown fingerprint image; andextracting the multiple mesoscopic features based on the key featurepoints.
 12. The method of claim 1 wherein extraction of mesoscopicfeatures for at least one known fingerprint image was performed using atleast one different parameter than used for the extraction of mesoscopicfeatures for the unknown fingerprint image.
 13. The method of claim 12wherein the different parameter includes at least one of a window sizeof the multi-dimensional coefficients in the local vicinity of the keyfeature point, a thresholding value, a number of channels, andparameters for neural networks.
 14. The method of claim 1 whereincalculating the overall similarity score between the unknown fingerprintimage and one of the known fingerprint images comprises: for differentpairs of mesoscopic features, each pair containing one mesoscopicfeature from the unknown fingerprint image and one mesoscopic featurefrom the known fingerprint image, calculating a similarity score betweenthe two mesoscopic features in the pair; and combining the similarityscores for the different pairs of mesoscopic features to obtain anoverall similarity score.
 15. The method of claim 14 wherein calculatingthe similarity score between two mesoscopic features comprises: using aneural network to calculate the similarity score.
 16. The method ofclaim 14 wherein calculating the similarity score between the mesoscopicfeatures in the pair comprises: compressing the mesoscopic features foreach fingerprint image into a bit array; and calculating a bitwisedistance between the bit arrays for the mesoscopic features.
 17. Themethod of claim 16 wherein the bitwise distance is calculated by a GPU,TPU or AI-specific chip.
 18. The method of claim 1 wherein the frameletbasis results in multi-dimensional coefficients that are more sparsethan a set of multi-dimensional coefficients resulting from a set oforthogonal wavelets with a same dimensionality.
 19. The method of claim1 wherein the framelet basis is optimized for sparseness.
 20. A systemfor matching fingerprint images, the system comprising: a database ofknown fingerprint images, wherein a framelet basis is used to representthe known fingerprint images and the framelet basis is determined bysolving a unitary extension principle equation to obtain the frameletbasis that is optimized for constructing space-frequency representationsof the known fingerprint images; a fingerprint matching enginecomprising: a space-frequency analysis module that applies an analysisoperator of the framelet basis to the unknown fingerprint image toobtain multi-dimensional coefficients that represent the unknownfingerprint image using the framelet basis; a feature extraction modulethat extracts multiple mesoscopic features of the unknown fingerprintimage, wherein the multi-dimensional coefficients that represent theunknown fingerprint image contain at least two key feature points andeach mesoscopic feature is based on the multi-dimensional coefficientsin a local vicinity of one of the key feature points of the unknownfingerprint image; and a comparison module that calculates overallsimilarity scores between the unknown fingerprint image and the knownfingerprint images based on the mesoscopic features of the unknownfingerprint image and mesoscopic features of the known fingerprintimages.